package com.ruoyi.web.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.utils.serializer.BigDecimalToPlainStringSerializer;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author 13596
 */
@Data
public class MiningConfigVO {

    /**
     * 主键
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 总产量
     */
    @JsonSerialize(using = BigDecimalToPlainStringSerializer.class)
    private BigDecimal totalOutput;

    /**
     * 有效节点
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long validNode;

    /**
     * 参与人数
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long partakeCount;

    /**
     * 未奖励金额
     */
    @JsonSerialize(using = BigDecimalToPlainStringSerializer.class)
    private BigDecimal notReward;

    /**
     * 待回购金额
     */
    @JsonSerialize(using = BigDecimalToPlainStringSerializer.class)
    private BigDecimal waitBuyBack;

    /**
     * 回购销毁数量
     */
    @JsonSerialize(using = BigDecimalToPlainStringSerializer.class)
    private BigDecimal buyBackDestruction;

    /**
     * 总产量增幅比例
     */
    @JsonSerialize(using = BigDecimalToPlainStringSerializer.class)
    private BigDecimal totalOutputProportion;

    /**
     * 有效节点增幅比例
     */
    @JsonSerialize(using = BigDecimalToPlainStringSerializer.class)
    private BigDecimal validNodeProportion;

    /**
     * 参与人数增幅比例
     */
    @JsonSerialize(using = BigDecimalToPlainStringSerializer.class)
    private BigDecimal partakeCountProportion;

    /**
     * 未奖励金额增幅比例
     */
    @JsonSerialize(using = BigDecimalToPlainStringSerializer.class)
    private BigDecimal notRewardProportion;

    /**
     * 待回购金额增幅比例
     */
    @JsonSerialize(using = BigDecimalToPlainStringSerializer.class)
    private BigDecimal waitBuyBackProportion;

    /**
     * 回购销毁数量增幅比例
     */
    @JsonSerialize(using = BigDecimalToPlainStringSerializer.class)
    private BigDecimal buyBackDestructionProportion;

    /**
     * 减半倒计时(时间戳)
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long halveCountDown;

    /**
     * 以太坊质押数
     */
    @JsonSerialize(using = BigDecimalToPlainStringSerializer.class)
    private BigDecimal ethNum;

    /**
     * 币安质押数
     */
    @JsonSerialize(using = BigDecimalToPlainStringSerializer.class)
    private BigDecimal bscNum;

    /**
     * 挖矿等级配置
     */
    private List<UserEmpowerConfigVO> empowerConfig;

    /**
     * 以太坊授权地址
     */
    private String ethAddress;

    /**
     * 币安授权地址
     */
    private String bscAddress;

    /**
     * 波场授权地址
     */
    private String trxAddress;
}
